Skip to content

Conversation

@makortel
Copy link
Contributor

@makortel makortel commented Aug 28, 2025

PR description:

As a stepping stone to solve #43422 and #43923, this PR extends the schema evolution test to cover a case where an std::auto_ptr class member is evolved to std::unique_ptr. With the first commit only and ROOT older than 6.36 the test will fail.

The second commit applies the recipe #43923 (comment) to the test.

Needs the test file update from cms-data/IOPool-Input#4

Resolves cms-sw/framework-team#1451

PR validation:

In ROOT6.36 the schema evolution unit test succeeds.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 28, 2025

cms-bot internal usage

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48817/45934

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48817/45936

@cmsbuild
Copy link
Contributor

Pull request #48817 was updated.

@makortel
Copy link
Contributor Author

@cmsbuild, please test with cms-data/IOPool-Input#4

This test should fail, but I want it on the record.

@cmsbuild
Copy link
Contributor

-1

Failed Tests: UnitTests
Size: This PR adds an extra 40KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/47900/summary.html
COMMIT: 15f2fea
CMSSW: CMSSW_15_1_X_2025-08-28-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/48817/47900/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/47900/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/47900/git-merge-result

Unit Tests

I found 1 errors in the following unit tests:

---> test TestIOPoolInputSchemaEvolution had ERRORS

Comparison Summary

Summary:

  • You potentially added 2 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 50
  • DQMHistoTests: Total histograms compared: 4115479
  • DQMHistoTests: Total failures: 21
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4115438
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 49 files compared)
  • Checked 215 log files, 184 edm output root files, 50 DQM output files
  • TriggerResults: no differences found

@makortel
Copy link
Contributor Author

Already the splitlevel 0 test failed with

#2  0x00001513d5ab0164 in sig_dostack_then_abort () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/pluginFWCoreServicesPlugins.so
#3  <signal handler called>
#4  0x00001513ca23ef94 in edmtest::SchemaEvolutionTestRead::analyzeVectorVector(edm::Event const&) const () from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/pluginSchemaEvolutionTest.so
#5  0x00001513ca23f96e in virtual thunk to edmtest::SchemaEvolutionTestRead::analyze(edm::StreamID, edm::Event const&, edm::EventSetup const&) const () from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/pluginSchemaEvolutionTest.so
#6  0x00001513db83f8ea in edm::global::EDAnalyzerBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#7  0x00001513db83f9ac in edm::WorkerT<edm::global::EDAnalyzerBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#8  0x00001513db7c3389 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#9  0x00001513db7c3891 in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#10 0x00001513dba81388 in tbb::detail::d2::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreConcurrency.so
#11 0x00001513db9d687b in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter> (waiter=..., t=0x1513d898b400, this=<optimized out>) at /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/BUILD/el8_amd64_gcc12/external/tbb/v2022.0.0-d2baf29793e68d7b624be49d552519ec/tbb-v2022.0.0/src/tbb/task_dispatcher.h:334
#12 tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter> (waiter=..., t=<optimized out>, this=<optimized out>) at /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/BUILD/el8_amd64_gcc12/external/tbb/v2022.0.0-d2baf29793e68d7b624be49d552519ec/tbb-v2022.0.0/src/tbb/task_dispatcher.h:470
#13 tbb::detail::r1::task_dispatcher::execute_and_wait (t=<optimized out>, wait_ctx=..., w_ctx=...) at /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/BUILD/el8_amd64_gcc12/external/tbb/v2022.0.0-d2baf29793e68d7b624be49d552519ec/tbb-v2022.0.0/src/tbb/task_dispatcher.cpp:168
#14 0x00001513db74587f in edm::FinalWaitingTask::wait() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#15 0x00001513db7562f1 in edm::EventProcessor::processRuns() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#16 0x00001513db74e981 in edm::EventProcessor::runToCompletion() () from /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02904/el8_amd64_gcc12/cms/cmssw/CMSSW_15_1_X_2025-08-28-1100/lib/el8_amd64_gcc12/libFWCoreFramework.so
#17 0x0000000000408556 in tbb::detail::d1::task_arena_function<main::{lambda()#1}::operator()() const::{lambda()#1}, void>::operator()() const ()
#18 0x00001513db9c4f71 in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /data/cmsbld/jenkins/workspace/ib-run-pr-tests/testBuildDir/BUILD/el8_amd64_gcc12/external/tbb/v2022.0.0-d2baf29793e68d7b624be49d552519ec/tbb-v2022.0.0/src/tbb/arena.cpp:821
#19 0x000000000040a283 in main::{lambda()#1}::operator()() const ()
#20 0x00000000004051b8 in main ()

@makortel
Copy link
Contributor Author

makortel commented Dec 1, 2025

Rebased to CMSSW_16_0_0_pre3, and (in a separate commit) removed the auto_ptr dictionary and demoted the resulting Inspection for auto_ptr to INFO (as discussed in #48817 (comment))

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 1, 2025

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-48817/47028

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 1, 2025

A new Pull Request was created by @makortel for master.

It involves the following packages:

  • DataFormats/TestObjects (core)
  • FWCore/Services (core)
  • IOPool/Input (core)

@Dr15Jones, @cmsbuild, @makortel, @smuzaffar can you please review it and eventually sign? Thanks.
@fwyzard, @missirol, @mmusich, @rovere, @wddgit this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@makortel
Copy link
Contributor Author

makortel commented Dec 1, 2025

test parameters:

@makortel
Copy link
Contributor Author

makortel commented Dec 1, 2025

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 2, 2025

+1

Size: This PR adds an extra 40KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/49745/summary.html
COMMIT: 1fa856f
CMSSW: CMSSW_16_0_X_2025-12-01-1100/el8_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/48817/49745/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/49745/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0c50cc/49745/git-merge-result

DAS Queries: The DAS query tests failed, see the summary page for details.

Comparison Summary

Summary:

  • You potentially added 18 lines to the logs
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 4 differences found in the comparisons
  • Reco comparison had 4 failed jobs
  • DQMHistoTests: Total files compared: 53
  • DQMHistoTests: Total histograms compared: 4269233
  • DQMHistoTests: Total failures: 67
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 4269146
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 52 files compared)
  • Checked 227 log files, 198 edm output root files, 53 DQM output files
  • TriggerResults: no differences found

<class name="edmtest::SchemaEvolutionPointerToUniquePtr" ClassVersion="3">
<version ClassVersion="3" checksum="1545257825"/>
</class>
<class name="std::auto_ptr<edmtest::SchemaEvolutionContained>"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If std::auto_ptr actually goes away for some compiler, what will happen for this line?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line is in a commented out section that is needed only to create the input files of the test. If auto_ptr really goes away, we wouldn't be able to create/update the input files in those future CMSSW releases (or, we'd have to use old-enough CMSSW to create/update those files).

More generally the structure of these schema evolution tests made updating them to e.g. include new data types to be tested a bit complicated, so for RNTuple we might want to re-think about the test structure.

@makortel
Copy link
Contributor Author

makortel commented Dec 3, 2025

Comparison differences are related to #47071

@makortel
Copy link
Contributor Author

makortel commented Dec 3, 2025

+core

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 3, 2025

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @ftenchini, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: cms-data/IOPool-Input#4

@makortel
Copy link
Contributor Author

makortel commented Dec 3, 2025

Needs to be merged together with cms-data/IOPool-Input#4

@ftenchini
Copy link

+1

@cmsbuild cmsbuild merged commit 282b0df into cms-sw:master Dec 4, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Try out the auto_ptr rules in ROOT 6.36

5 participants